1. Field of the Invention
The present invention relates to a numerical control system, which, by interconnecting a plurality of numerical control devices (CNC devices), increases the number of axes controlled, and synchronizes these plurality of CNC devices. Such a numerical control system is used especially with machines for which multiple axis synchronization is required, such as a rotary press, packaging machine, painting machine, and the like.
2. Description of the Related Art
To execute control using a plurality of CNC devices, the respective axes of these CNC devices are synchronized. As a method for synchronizing these axes, there is a known method, in which motion command data is transmitted from a CNC device, which constitutes a master unit, to each axis of other CNC devices, which constitute slave units, performing synchronized control (refer to Japanese Patent Application Laid-open (JP-A) Nos. 9-204215, 10-13394, and 9-146623).
Further, there is also a known method, in which positioning data of an axis, which constitutes a reference, like a so-called electronic cam, is transmitted to each CNC device, and based on the position of this reference axis, the positions of the axes, which are controlled by each CNC device respectively, are controlled (refer to JP-A No. 7-302 103).
There are the following two modes for transmitting this reference axis positioning data to each CNC device.
1. External Pulse Synchronization Mode
In this mode, as shown in FIG. 18, a master axis 80, which constitutes a reference (for example, a camshaft) is provided externally, and a pulse indicating the position of this master axis 80 is generated by a pulse generator 81. Then, this pulse is inputted to each CNC device #1-#n, which are slave units. By so doing, each CNC device #1-#n performs positioning control by computing the positioning location (motor-driven axis location) of the axes (slave axes) they each control from the inputted position of this master axis 80. That is, the respective axes (slave axes) of CNC devices #1-#n are controlled in synchronization with master axis 80.
To control the positioning location of a slave axis relative to this master axis 80, coefficient N/M is set as a parameter for each slave axis. Then, CNC devices #1-#n, which control each slave axis, carry out positioning control such that a slave axis assumes an N/M position relative to the position of master axis 80. This method is used in a case in which a slave axis is connected to master axis 80 by a train of gearings.
Further, there is also employed a method, in which the position X of master axis 80 is treated as an argument, and the position Y of a slave axis is determined by function f (X). In this method, for a master axis position X, which is inputted to CNC devices #1-#n, which are slave units, slave axis position Y=f (X) is determined by function f (X) of each slave axis, which is set in these CNC devices #1-#n, respectively, and each slave axis is positioning controlled to this position.
Furthermore, as another method for determining the position of a slave axis using either the above-mentioned coefficient or function, there is a method in which a slave axis position is determined by patterning. In this method, as shown in FIG. 20, there is prepared a data table, which stores the corresponding position of each slave axis to the position of a master axis. Then, CNC devices #1-#n, which constitute slaves, are controlled such that the position of each slave axis relative to the position of the master axis is positioned in a position set and stored in this data table.
2. Internal Pulse Synchronization Mode
In this mode, as shown in FIG. 19, a CNC device #1 is designated a master unit without providing a master axis externally, and the remaining CNC devices #2-#n are designated slave units. Then, the master unit #1 controls the axis thereof (virtual master axis), and causes pulse generating means 82 to generate a reference pulse (indicating the position of the virtual master axis), and outputs this pulse to each slave unit (CNC device) #2-#n.
By so doing, each slave unit #2-#n performs positioning control by computing from an inputted virtual master axis position the positioning location of the axis (slave axis) which the slave unit itself controls.
Further, a slave axis is also disposed in the master unit, and this slave axis, too, is control by axis controlling means 83 based on virtual master axis position data.
Furthermore, in the internal pulse synchronization mode, the position of a slave axis relative to a master axis is determined by either a coefficient (N/M), function Y=f(X), or a data table like that shown in FIG. 20, as in the case of the external pulse synchronization mode which were explained above.
In the above-mentioned prior art, for the external pulse synchronization mode, an actual operating part, such as a camshaft, is required on the outside. Providing an actual operating camshaft or the like is disadvantageous from the standpoints of costs and maintenance.
By contrast thereto, the internal pulse synchronization mode is advantageous to the extent that there is no need to provide an external camshaft or the like. However, there is a disadvantage in that, since the position of a virtual master axis must be controlled by the master unit, the number of master unit-controlled axes is reduced by 1 because complex control is required. That is, in master axis positioning control, in addition to simple movement, stopping, and override, there is a need for complex control, such as acceleration/deceleration control, and anticipatory control performed on the basis of future positioning data. Therefore, the master axis must be used as a master unit control axis, resulting in actual control axes being reduced by 1.
Furthermore, in the above-mentioned prior art, since slave axes are positioned dependent upon a master axis position transmitted from a master unit, it is not possible to control either a specified slave axis, or a certain slave axis relative to other slave axes, independent of the position of the master axis. That is, it is not possible to control a certain slave axis (not the master axis) in synchronization with other slave axis. For example, it is not possible to operate different numerical control device in a manner such that the axes of different numerical control devices (slave units) operates in synchronization with one another in a certain section, but operate without synchronization in another section. Further, it is also not possible to forcibly change the programmed speed of only a certain slave axis by applying override, independent of the master axis or another slave axis.
An object of the present invention is to provide a numerical control system capable of freely synchronizing or desynchronizing a slave axis with respect to a master axis.
The numerical control system according to the present invention comprises; one numerical control device constituting a master unit and one or more numerical control devices constituting slave units, in which the axes controlled by these different numerical control devices are controlled in synchronism with each other.
The numerical control device constituting a master unit comprises; clock data generating means for generating clock data by either counting up or counting down at a prescribed time interval; transmitting means for transmitting the clock data generated by the clock data generating means to the slave unit from the master unit; storing means for storing a program including motion commands of an axis controlled by this master unit; and means for starting up the program based on the clock data.
And each of the numerical control devices constituting slave units comprises; storing means for storing a program including motion commands of an axis controlled by each slave unit; and means for starting a program based on clock data from the master unit.
A numerical control system according to the present invention can adopt the following embodiments.
The master unit and slave units further may comprise startup time storing means for storing startup time data for starting a program; and starting means for starting a program at a startup time stored in this startup time storing means.
The numerical control device may comprise means for controlling a count operation of clock data generating means by a signal from either outside or inside.
Means for controlling a count operation may comprise at least one or more of the functions of count reset and count start, count pause and restart, and a count override function.
A signal from either outside or inside may be generated from the master unit and/or a slave unit.
The master unit and slave units may comprise means for adjusting clock data for delays accompanying the transmitting of clock data.
Slave units may comprise means for adjusting clock data for delays accompanying clock data transmission and discrepancy of operational reference unit time.
The numerical control system may comprise means for starting a program including motion commands for each axis, without depending on clock data, and operates in a certain section axes of different numerical control devices, with synchronization, and operates in another section those axes without synchronization.
The master unit may be equipped with a plurality of means for generating clock data to transmit a plurality of clock data so that slave units can receive a plurality of clock data, with the result that which of the plurality of clock data a program should be based on can be selected for each axis of slave units, allowing control of the axes with synchronization by dividing them into groups.
The numerical control system may comprise a plurality of master units instead of one master unit so that clock data is generated individually by each master unit, and a plurality of clock data is transmitted, and slave units can receive the plurality of clock data, with the result that which of the plurality of clock data a program should be based on can be selected for each axis of slave units, allowing control of the axes with synchronization by dividing them into groups.
In the present invention, there is no need to reduce the number of control axes of the CNC device serving as the master unit. Further, it is easy to change the combination of axes to be synchronized, and to create an section that is synchronized, and a section that is not synchronized. Furthermore, the present invention is advantageous in that, by overriding clock data, it is possible to override all synchronized axes while not overriding axes not syncronized, thereby controlling increase of cycle time.